﻿#ifndef __THREADPOOL_TASK_H__
#define __THREADPOOL_TASK_H__

#include <vector>
#include "threadTask.h"
//线程池容器
class CThreadPoollTask
{
public:
    
    CThreadPoollTask();               
    
    ~CThreadPoollTask();
private:
    int 						   m_ThreadObjNum;
	std::vector<CThreadlTask *>    m_ThreadVector;
public:
	//创建对象，开始工作
	bool Start(int ThreadObjNum);
	
	//停止工作，销毁对象
	void Stop();
	
	//添加任务到对象
	void AddTask(int nID, char  *szTask);

	static CThreadPoollTask* GetObject();				//获取连接池对象


    static CThreadPoollTask* GetInstance();

    class GCj
    {
    public:
        ~GCj()
        {
            if (pPoolTask != nullptr)
                delete pPoolTask;
        }
    };

    static CThreadPoollTask* pPoolTask;
    static std::mutex               mutex_j;
    static GCj                           gcj;
};
#endif
